#include "initData.h"

namespace eqPc
{

InitData::InitData()
        : _frameDataID( co::base::UUID::ZERO )
#ifdef AGL
        , _windowSystem( "AGL" ) // prefer over GLX
#else
        , _windowSystem()
#endif
#ifdef Darwin
        , _renderMode( mesh::RENDER_MODE_BUFFER_OBJECT )
#else
        , _renderMode( pc::RENDER_MODE_DISPLAY_LIST )
#endif
        , _useGLSL( false )
        , _invFaces( false )
        , _logo( true )
        , _roi ( true )
{}

InitData::~InitData()
{
    setFrameDataID( co::base::UUID::ZERO );
}

void InitData::getInstanceData( co::DataOStream& os )
{
    os << _frameDataID << _windowSystem << _renderMode << _useGLSL << _invFaces
       << _logo << _roi;
}

void InitData::applyInstanceData( co::DataIStream& is )
{
    is >> _frameDataID >> _windowSystem >> _renderMode >> _useGLSL >> _invFaces
       >> _logo >> _roi;
    EQASSERT( _frameDataID != eq::UUID::ZERO );
}

}
